home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / SED15.ARJ / SED.SMA < prev    next >
Text File  |  1991-09-24  |  43KB  |  1,084 lines

  1. 
  2. Date: Fri, 21 Jun 91 14:07:05 CDT
  3. From: robin@utafll.uta.edu (Robin Cover)
  4. Message-Id: <9106212107.AA17356@utafll.uta.edu>
  5. To: kirsch@usasoc.soc.mil
  6. Subject: sed11
  7. Cc: robin@utafll.uta.edu
  8.  
  9. Thanks to Eric Raymond and others who contributed to the 18K sed exec.
  10.  
  11. I have a couple questions - which might be as easily answered as having
  12. a BSD UNIX manual (but I don't).
  13.  
  14. Scripts which worked with the GNUish sed don't work with the current
  15. sed, namely, in the treatment of <CR> and <LF>.  With the GNUish
  16. version, one may enter OD OA (<CR><LF>) directly into a script and
  17. get results; your current 18K version seems to accept the notation
  18.  \d13\d10  as equivalent to <CR><LF>, but I do not see this in the
  19. man page.  In fact, it has never been clear to me why the GNUish
  20. utils for DOS do not (always?) predictably improve on the handling
  21. of the 8th bit.  Much of my text processing requires that I am
  22. able to address control chars (0-31), hi-bit chars -- in a word,
  23. all chars that wordprocessors reserve for their private purposes.
  24. Standard UNIX is very unreliable in (usually NOT) allowing one to
  25. address the full 8-bit ascii char set except for minor instances
  26. of generosity, so I look to the DOS UNIX-lookalikes to solve the
  27. problem.
  28.  
  29. Questions:
  30.  
  31. 1) are decimal 10 and 13 the ONLY chars that can be addressed with "sed11"
  32.    using the convention \d13  ?
  33. 2) otherwise, will "sed11" faithfully handle all 256 chars, if they are
  34.    in scripts and text files?
  35. 3) is it not reasonable to think of pushing the buffer size beyond
  36.    4K (e.g., for the purpose of using tags in the pattern space)?  The
  37.    major drawback of these utils is that they choke on long lines --
  38.    I am thinking of SGML files, for instance.  Do you know of any
  39.    attempts (for 386 machines) to build grep/sed/awk to handle
  40.    LONG lines - approaching 32K, or more?
  41.  
  42. Thanks,
  43.  
  44. Robin Cover
  45.  
  46. -----------------------------------------------------------------------------
  47. Robin Cover                BITNET:   zrcc1001@smuvm1     ("one-zero-zero-one")
  48. 6634 Sarah Drive           Internet: robin@utafll.uta.edu     ("uta-ef-el-el")
  49. Dallas, TX  75236  USA     Internet: zrcc1001@vm.cis.smu.edu
  50. Tel: (1 214) 296-1783      Internet: robin@ling.uta.edu
  51. FAX: (1 214) 841-3642      Internet: robin@txsil.sil.org
  52. =============================================================================
  53.  
  54. 
  55. 
  56. Date:     Sat, 22 Jun 91 16:14:58 EDT
  57. From:     David Kirschbaum
  58. To:       robin@utafll.uta.edu (Robin Cover)
  59. Subject:  Re:  sed11
  60.  
  61. >Scripts which worked with the GNUish sed don't work with the current
  62. >sed, namely, in the treatment of <CR> and <LF>.  With the GNUish
  63. >version, one may enter OD OA (<CR><LF>) directly into a script and
  64. >get results; your current 18K version seems to accept the notation
  65. > \d13\d10  as equivalent to <CR><LF>, but I do not see this in the
  66. >man page.
  67.  
  68. I believe these instructions (from the sed11.man) apply to all commands:
  69.  
  70. l               (2)
  71.    List. Sends the pattern space to standard output.  A "w" option may follow as in the s command below. Non-printable characters expand to:
  72.    \b  --  backspace (ASCII 08)
  73.    \t  --  tab       (ASCII 09)
  74.    \n  --  newline   (ASCII 10)
  75.    \r  --  return    (ASCII 13)
  76.    \e  --  escape    (ASCII 27)
  77.    \xx --  the ASCII character corresponding to 2 hex digits xx.
  78.  
  79. Your CR or 0DH would be \0D  and your LF would be \0A.  Similar to, but
  80. simpler than, C's \0x0d and \0x0a.
  81.  
  82. >      In fact, it has never been clear to me why the GNUish
  83. >utils for DOS do not (always?) predictably improve on the handling
  84. >of the 8th bit.  Much of my text processing requires that I am
  85. >able to address control chars (0-31), hi-bit chars -- in a word,
  86. >all chars that wordprocessors reserve for their private purposes.
  87. >Standard UNIX is very unreliable in (usually NOT) allowing one to
  88. >address the full 8-bit ascii char set except for minor instances
  89. >of generosity, so I look to the DOS UNIX-lookalikes to solve the
  90. >problem.
  91.  
  92. Well, we have ordinary text file reads here.  In DOS there's very little
  93. processing that occurs during text file reads .. just EOL and EOF mainly.
  94. I scanned sed11's source and found nothing to indicate text characters are
  95. being tampered for their 8th bit.
  96.  
  97. Unfortunately, this is *not* "raw" mode in its crudest form, so you will
  98. NOT be able to get *all* the control characters.  But sed was, after all,
  99. from the beginning intended to deal with TEXT.  And you wish to step
  100. outside those boundaries.
  101.  
  102. >Questions:
  103. >
  104. >1) are decimal 10 and 13 the ONLY chars that can be addressed with "sed11"
  105. >   using the convention \d13  ?
  106.  
  107. Donno .. I'm not familiar enough with sed and its command files to
  108. experiment.  It *looks* like any character could be used.  But where'd you
  109. get that "\dxx" business?  I didn't see anything like that in the source,
  110. and the man says just to use "\xx".
  111.  
  112. >2) otherwise, will "sed11" faithfully handle all 256 chars, if they are
  113. >   in scripts and text files?
  114.  
  115. It looks like it, except for ^Z (ASCII 26) and CR/LFs.
  116.  
  117. >3) is it not reasonable to think of pushing the buffer size beyond
  118. >   4K (e.g., for the purpose of using tags in the pattern space)?  The
  119. >   major drawback of these utils is that they choke on long lines --
  120. >   I am thinking of SGML files, for instance.  Do you know of any
  121. >   attempts (for 386 machines) to build grep/sed/awk to handle
  122. >   LONG lines - approaching 32K, or more?
  123.  
  124. I tried, bumping the buffers up to 24K (needed malloc() to do that too).
  125. It seemed to run just fine, but then choked&died on loooooong lines (about
  126. 14Kb).  Don't know why, and don't plan to spend the time finding out!
  127. Again, you're wandering beyond text files .. and there's no warrant for
  128. sed to do things like that.
  129.  
  130. Sorry I can't be more help, but I am *not* a bonafide sed writer or
  131. developer.  I only did a hack to port it to Turbo C v2.0, and have no
  132. plans to enhance or modify sed in any other way.
  133.  
  134. David Kirschbaum
  135. Toad Hall
  136. kirsch@usasoc.soc.mil
  137. 
  138. 
  139. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  140. Date: Sun, 23 Jun 91 16:08:09 -0500
  141. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  142. Message-Id: <9106232108.AA01077@bsu-cs.bsu.edu>
  143. To: kirsch@usasoc.soc.mil
  144. Subject: sed
  145.  
  146. Here are the messages from Borland C++ 2.0 on the sed that you just put on
  147. simtel.  Do I need to worry about any of them and if so and you make diffs
  148. will you please send them to me?  Also can sed be a com file or do you know?
  149. Borland C++  Version 2.0 Copyright (c) 1991 Borland International
  150. sedcomp.c:
  151. Warning sedcomp.c 221: Function should return a value in function main
  152. Warning sedcomp.c 761: Function should return a value in function gettext
  153. Warning sedcomp.c 831: Constant out of range in comparison in function ycomp
  154. sedexec.c:
  155. Warning sedexec.c 256: Function should return a value in function selected
  156. Warning sedexec.c 472: Possibly incorrect assignment in function dosub
  157. Turbo Link  Version 4.0 Copyright (c) 1991 Borland International
  158.         Available memory 155200
  159.  
  160. 
  161. 
  162. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  163. Date: Sun, 23 Jun 91 19:21:30 -0500
  164. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  165. Message-Id: <9106240021.AA03140@bsu-cs.bsu.edu>
  166. To: kirsch@usasoc.soc.mil
  167. Subject: another sed question
  168.  
  169. Assuming that I have both cat and uudecode how do I get this script to work
  170. with the sed that you just uploaded to simtel?
  171. #! /bin/sh
  172. cat $* | sed '/^END/,/^BEGIN/d'| uudecode
  173.  
  174. 
  175. 
  176. Date:     Mon, 24 Jun 91 13:42:09 EDT
  177. From:     David Kirschbaum
  178. To:       mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  179. Subject:  Re:  sed
  180.  
  181. >Here are the messages from Borland C++ 2.0 on the sed that you just put on
  182. >simtel.  Do I need to worry about any of them and if so and you make diffs
  183. >will you please send them to me?  Also can sed be a com file or do you know?
  184.  
  185. Well, the C++ complaints look *almost* like my TC 2.0 ones ...
  186.  
  187. >sedcomp.c:
  188. >Warning sedcomp.c 221: Function should return a value in function main
  189.  
  190. Yeah, yeah, it wants a "return(0)" to keep from bitching.  The function
  191. exits with other values BEFORE the very end, so that last return() isn't
  192. needed and would just be wasted code.  But the compiler doesn't know that.
  193.  
  194. >Warning sedcomp.c 761: Function should return a value in function gettext
  195.  
  196. Ditto here.  Or stick in a return(0) to quiet the compiler if you don't
  197. mind wasted code.
  198.  
  199. >Warning sedcomp.c 831: Constant out of range in comparison in function ycomp
  200.  
  201. This is line 831 in my source:
  202.         for (c = 0; c < 128; c++)       /* fill in self-map entries in table */
  203.  
  204. Be damned if I can see a constant range problem here!  "c" is just a plain
  205. old char!  I got no such warning myself.  I wonder if this is the same
  206. line C++ talking about?  You'll have to chase it down via the Integrated
  207. Environment's editor.
  208.  
  209. >sedexec.c:
  210. >Warning sedexec.c 256: Function should return a value in function selected
  211.  
  212. Again, a bogus warning, doesn't matter.
  213.  
  214. >Warning sedexec.c 472: Possibly incorrect assignment in function dosub
  215. Here's my line 472:
  216.         for (rp = rhsbuf; c = *rp++;) {
  217.  
  218. I guess it looks a little flakey, but it worked okay on my system.
  219.  
  220. I don't plan to make any diffs unless a serious error appears on someone's
  221. system, or they can show it's bogus code.  (You should've seen the
  222. warnings *before* my tweaks!  Hah!  Yet the compiled code ran perfectly!)
  223.  
  224. Re it compiling as a .COM file .. I *guess* so .. didn't try myself, but
  225. it should compile and link up as a tiny model.  The memory requirements
  226. for sed's arrays and buffers aren't that great, after all.
  227.  
  228. You can but try!
  229.  
  230. David
  231. 
  232. 
  233. Date:     Mon, 24 Jun 91 13:56:27 EDT
  234. From:     David Kirschbaum
  235. To:       mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  236. Subject:  Re:  another sed question
  237.  
  238. >Assuming that I have both cat and uudecode how do I get this script to work
  239. >with the sed that you just uploaded to simtel?
  240. >#! /bin/sh
  241. >cat $* | sed '/^END/,/^BEGIN/d'| uudecode
  242.  
  243. Hey, disclaimer here!  I'm no sed wizard, and never even tried to use it
  244. before just recently (when the stupid AT&T Fortran-to-C translator
  245. required it).  I'm just doing the port!
  246.  
  247. I *suppose* sed11 can be used as a pipe (although neither the sed11 man
  248. file nor my BSD host's sed man file say anything about that). The problem
  249. might be in the "quoted" parameter.
  250.  
  251. I tried a quoted string like yours above when trying to build the f2c
  252. source, and sed11 coughed.  The line looked like this in the Makefile:
  253. (those are the `backward` ASCII 96 quotes in case they don't make it
  254. through your mailer)
  255.  
  256.          sed -e `s/#define/%token/` tokdefs.h >gram.in
  257.  
  258. I removed the quotes, and used:
  259.  
  260.         sed -e s/#define/%token/ tokdefs.h >gram.in
  261.  
  262. and it worked perfectly.
  263.  
  264. So you might try the same line, but without the quotes.
  265.  
  266. David
  267. 
  268. 
  269. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  270. Date: Mon, 24 Jun 91 16:39:20 -0500
  271. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  272. Message-Id: <9106242139.AA18030@bsu-cs.bsu.edu>
  273. To: kirsch@usasoc.soc.mil
  274. Subject: sed and makefile
  275.  
  276. I don't use the integrated environment of TC or BC++ very much and am having
  277. trouble converting your configuration file.  Could you tell me the options in
  278. TC that you used to compile sed so that I can create a makefile for it?
  279.  
  280. 
  281. 
  282. Date:     Tue, 25 Jun 91 11:34:26 EDT
  283. From:     David Kirschbaum
  284. To:       mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  285. Subject:  Re:  sed and makefile
  286.  
  287. >I don't use the integrated environment of TC or BC++ very much and am having
  288. >trouble converting your configuration file.  Could you tell me the options in
  289. >TC that you used to compile sed so that I can create a makefile for it?
  290.  
  291. Well, let's see:
  292.   -A    Source/ANSI keywords only...On   (I think)
  293.   -a    Code generation/Alignment...Word
  294.   -C-   Source/Nested comments...Off (default)
  295.   -d    Code generation/Merge duplicate strings...On
  296.   -f    Code generation/Floating point...Emulation (default)
  297.   -K    Code generaton/Default char type...Unsigned
  298.   -k-   Code generation/Standard stack frame...Off
  299.   -ms   Model...Small
  300.   -N-   Code generation/Test stack overflow...Off (default)
  301.   -r    Optimization/Use register variables...On (default)
  302.   -v-   Debug/Source debugging...Off (default)
  303.  
  304. Optimization can be set any way you want, really.
  305. Ditto with Errors (I usually turn *everything* on).
  306. I leave all the Names (segments) alone (default).
  307. Re floating point:  I don't think sed uses any, but I leave it set to
  308. Emulation (default) just in case.  (Nothing'll be brought in from the
  309. libraries if not required.)
  310.  
  311. I think this oughtta do you.  I put some redundant (default) switches
  312. above just so you'd know they'd been considered.  And you can't depend on
  313. "defaults" with TC, since no telling what was reset during installation.
  314.  
  315. Hope this helps.
  316.  
  317. David
  318. 
  319. 
  320. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  321. Date: Mon, 24 Jun 91 16:55:44 -0500
  322. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  323. Message-Id: <9106242155.AA18556@bsu-cs.bsu.edu>
  324. To: kirsch@usasoc.soc.mil
  325. Subject: more on sed
  326.  
  327. I'd really like to get sed working with BC++ 2.0.  The command
  328. sed 1,5d filename
  329. should print the file denoted by filename except for the first 5 lines and
  330. the one that you distributed does, but the one compiled with BC++ 2.0 prints
  331. the entire file as if the "1,5d" command didn't exist.  I can't see and
  332. therefore don't know how to use the integrated debuger or Turbo Debuger, but
  333. could send you a binary created by BC++ 2.0 with debugging information if that
  334. would help you.  Also maybe you know someone with either TC++ 1.0 1.01 or
  335. BC++ 2.0 that can try to compile sed and figure out the problem.  I don't know
  336. if it works with TC++ 1.0 or TC++ 1.01, but I am having a problem with BC++
  337. 2.0.  Hey maybe we will have the luck of infozip and one of can either
  338. figure it out or knows someone who can figure it out because I'm stumped.
  339.  
  340. 
  341. 
  342. Date:     Tue, 25 Jun 91 11:41:39 EDT
  343. From:     David Kirschbaum
  344. To:       mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  345. Subject:  Re:  more on sed
  346.  
  347. >I'd really like to get sed working with BC++ 2.0.  The command
  348. >sed 1,5d filename
  349. >should print the file denoted by filename except for the first 5 lines and
  350. >the one that you distributed does, but the one compiled with BC++ 2.0 prints
  351.  
  352. Yep, the command works just fine on my system with sed11 (as compiled with
  353. TC v2.0).
  354.  
  355. >the entire file as if the "1,5d" command didn't exist.  I can't see and
  356.  
  357. I have *no* idea why the BC++ 2.0 version doesn't work.
  358.  
  359. >therefore don't know how to use the integrated debuger or Turbo Debuger, but
  360. >could send you a binary created by BC++ 2.0 with debugging information if that
  361. >would help you.  Also maybe you know someone with either TC++ 1.0 1.01 or
  362. >BC++ 2.0 that can try to compile sed and figure out the problem.  I don't know
  363. >if it works with TC++ 1.0 or TC++ 1.01, but I am having a problem with BC++
  364. >2.0.
  365.  
  366. I don't know that a binary created by BC++ 2.0 with debugging information
  367. would help at all.  (I have no assurances that my Turbo Debugger would
  368. work with later versions.)  Plus (although I can see) I have little use
  369. for, and seldom use, Turbo Debugger.
  370.  
  371. I don't have a single soul around here that does any significant TC
  372. programming!  (Amazing, but then this *is* the "Howling Wilderness of
  373. Computerdom.")  So, no versions of TC++ or BC++ about that I could go and
  374. compile on.
  375.  
  376. Maybe it's time to field the problem to one of the newsletters, eh?  I
  377. don't subscribe to "Info-C" (if there is such a thing).
  378.  
  379. Tell you what:  hold off for a few days until a couple of the Info-ZIP
  380. guys get back from Minnesota, vacation, etc., and I'll throw it at them.
  381. I believe Cave Newt has a TC++ or some such.  I'll send the source off to
  382. them, with the problem description, and we can see what they come up with.
  383.  
  384. It certainly is curious that we've found such an obvious TC-BC
  385. incompatibility!
  386.  
  387. David
  388. 
  389. 
  390. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  391. Date: Tue, 25 Jun 91 14:43:29 -0500
  392. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  393. Message-Id: <9106251943.AA10493@bsu-cs.bsu.edu>
  394. To: kirsch@usasoc.soc.mil
  395. Subject: Re:  more on sed
  396.  
  397. I usually send stuff to Mark so maybe you can also send it to him when he 
  398. gets back.
  399.  
  400. 
  401. 
  402. Return-Path: <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  403. Date: Tue, 25 Jun 91 14:45:25 -0500
  404. From: mdlawler@bsu-cs.bsu.edu (Michael D. Lawler)
  405. Message-Id: <9106251945.AA10551@bsu-cs.bsu.edu>
  406. To: kirsch@usasoc.soc.mil
  407. Subject: Re:  sed and makefile
  408.  
  409. I use those exact switches with BC++ 2.0 and this is very strange.  I'll be
  410. glad when one of the infozipers solves it.
  411.  
  412. 
  413. 
  414. Date: Mon, 16 Sep 91 11:42:39 PDT
  415. From: helman@elm.sdd.trw.com (Howard L. Helman)
  416. Message-Id: <9109161842.AA26552@elm.sdd.trw.com.sdd.trw.com>
  417. To: mdlawler@bsu-cs.edu
  418. Subject: SED for the PC
  419. Cc: kirsch@usasoc.soc.mil
  420.  
  421.  Somehow or where I received a version of SED12. I wanted a version for
  422. my pc and it seems appropriate.  I discovered however that the code would not 
  423. compile under BC++ 2.0 as advertised.  Mostly warning messages, but I hate warnings
  424. anyway. I also discovered four serious errors. The errors are:
  425.  *  the initialization for the variable 'delete' should be FALSE. Otherwise the
  426.     first line will be marked deleted.
  427.  
  428.  *  The compiler got into an endless loop reporting an RE error.
  429.  
  430.  *  'genbuf' was only 71 bytes long, but was treated as if it was 4000 bytes long
  431.  
  432. After much screwing around I made the following modifications to sed.
  433. If you are interested in my version of the source code please contact me.
  434. at helman@elm.sdd.trw.com.
  435.  
  436.  
  437. Changes made to SED:
  438.   1. l command cleanup (indexing and quoting)
  439.   2. first line problem (should have been delete FALSE) ****
  440.   3. y command compile funny BC++ problem with chars and ints
  441.   4. fixed `\' escapes in patterns
  442.   5. fixed `\' escapes in rhs
  443.   6. fixed `\' escapes in y strings 
  444.   7. fixed `\' escapes in inserted text
  445.   8. fixed `\' in sets  (all fixed by fixquote routine)
  446.   9. RE bad looping on error message   *****
  447.  10. reworked entire selected routine
  448.  11. spaces after -e -f and nothing after -g -n
  449.  12. errors to stderr and general error message fixups
  450.  13. usage message when no args
  451.  14. Make it compile under Sun Unix with minimum lint complaints
  452.  15. Make it compile under BC++ 2.0   *****
  453.  16. Fix recognition of last line to edit
  454.  17. ; # and initial space clean ups
  455.  18. No `\` escapes in file names or labels
  456.  19. Last line may not have \n in commands
  457.  20. 256 bit characters in all contexts
  458.  21. Add + option to second address
  459.  22. allow \{m,n\} RE's including after \1 as for *; + now \{1,\}
  460.  23. allow \<  and \> RE's
  461.  24. Genbuf now extremly long to hold everything(was 71!!) *****
  462.  25. Misc cleanups for n, N, & D commands range checks cleaned up.
  463.  26. Reset inrange flag on exit from {} nesting
  464.  27. Blanks after : (actually all of label processing fixed up
  465.  28. - in character character sets now works for ranges
  466.  29. g flag in s command cleanup used ++ instead of = 1
  467.  30. made separate -e and -f input routines and fixed up gettext
  468.  31. RELIMIT replaced by poolend  allows REs to be of any size
  469.  32. \0 character is now an error in an RE body
  470.  33. address of 000 now illegal
  471.  34. trailing arguments of s command handled properly
  472.  35. & substitutions fixed(previously could not escape)
  473.  36. handling of lastre
  474.  
  475. I am not really much of a Unix or SED hacker, but am an old
  476. SNOBOL, TRAC and other obscure text language hacker.  The code
  477. for the pattern matching was excellent and I learned a lot from it.
  478.  
  479. Any way I hope to hear from you.
  480.  
  481. /s/ Howard Helman
  482.     SEIDCON Inc.
  483. I am on contract with TRW
  484.  
  485. 
  486. 
  487. Date:     Tue, 17 Sep 91 18:07:40 EDT
  488. From:     David Kirschbaum
  489. To:       James McNealy <sasjcm@unx.sas.com>
  490. Subject:  Re:  sed12.zip from simtel20 (fwd)
  491.  
  492. >> I received sed12.zip from simtiel20 and unpacked it. I found that
  493. >> compile.h missing. Was this intentionally left out of the zip file?
  494. >  ^^^^^^^^^
  495. >  Please excuse my typo. This should read compiler.h
  496. >
  497. >> If not can it be sent to me?
  498. >> I do appreciate you responding at your earliest possible convenience.
  499.  
  500. compiler.h was not left out of the package:  it never came *with* the
  501. package!
  502.  
  503. I was only working in Turbo C and had no need for compiler.h.
  504.  
  505. Checking up on my Vax BSD 4.3 host, I don't find a compiler.h in my
  506. /usr/include directory either.
  507.  
  508. So I donno *what* that compiler.h is all about.  I suggest you comment it
  509. out, compile, and see what coughs!
  510.  
  511. Incidentally, yet another user has done some tweaks on sed12.  He reports
  512. a number of bugs fixed, but I haven't had a chance to get his code yet and
  513. examine the changes.  So be informed there may be yet another update in
  514. the near future.
  515.  
  516. David Kirschbaum
  517. Toad Hall
  518. kirsch@usasoc.soc.mil
  519. 
  520. 
  521. Date:     Tue, 17 Sep 91 18:13:42 EDT
  522. From:     David Kirschbaum
  523. To:       helman@elm.sdd.trw.com (Howard L. Helman)
  524. cc:       mdlawler@bsu-cs.edu
  525. Subject:  Re:  SED for the PC
  526.  
  527. > Somehow or where I received a version of SED12. I wanted a version for
  528. >my pc and it seems appropriate.  I discovered however that the code would not
  529. >compile under BC++ 2.0 as advertised.  Mostly warning messages, but I hate warnings
  530. >anyway.
  531.  
  532. I didn't have Borland C++, so couldn't test it.
  533.  
  534. >After much screwing around I made the following modifications to sed.
  535. >If you are interested in my version of the source code please contact me.
  536. >at helman@elm.sdd.trw.com.
  537.  
  538. I'd like much to get your new source to check it out in my TC 2.0
  539. environment.  Can you give me an anonymous ftp pointer, or EMail it to me
  540. in uuencoded or ship'ed archive (.zip, .arc, or .tar.Z format) please?
  541.  
  542. David Kirschbaum
  543. Toad Hall
  544. kirsch@usasoc.soc.mil
  545. 
  546. 
  547. Date:     Fri, 20 Sep 91 15:15:30 EDT
  548. From:     David Kirschbaum
  549. To:       Howard L. Helman (sed prj) <helman@elm.sdd.trw.com>,
  550.           Michael D. Lawler <bsu-cs!mdlawler@iuvax.cs.indiana.edu>
  551. Subject:  sed14
  552.  
  553. Howard,
  554.  
  555. Notice the different address for mdlawler.  I *think* this one is the
  556. latest for him.)
  557.  
  558. I had problems with your source and my raggedy old TC 2.0: mostly a bunch
  559. of warnings, plus different output from a wee little test I had lying
  560. about.  (Yours did it right, mine did it wrong.)
  561.  
  562. I expanded some of your code and made some little changes to keep TC 2.0
  563. from complaining so much.  (So if you'd check on your BC++ or whatever to
  564. be sure I didn't break it, ok?)
  565.  
  566. Also, turns out char type is critical when compiling:  this sucker wants
  567. *signed* chars!  Before I'd always been using my default unsigned char
  568. config, so the last line in the little ctrans test was going away.
  569.  
  570. If all looks and runs ok, we're about ready to field this sucker, eh?
  571. Give me the OK if it still looks good with "modern" compilers and I'll
  572. distribute it here and there (SIMTEL20 if it's still accepting uploads,
  573. comp.sources.misc, and wherever).
  574.  
  575. Oh, are you confined to .zoo archives for a reason?  Or only a principle?
  576. If you don't have or don't wish to use the PKWare family, we *do* have our
  577. handy_dandy generic unzip and zip utilities from the Info-ZIP project
  578. available for use.
  579.  
  580. zoo isn't a problem (since I do have it on my PC) .. just wondered.
  581. I'll put it all in a .zip before uploading to SIMTEL20, and to a
  582. compressed shar format to meet comp.sources.misc's requirements.
  583.  
  584. I haven't tried compiling and testing it up on my Vax BSD 4.3 host.  Do
  585. you think that's necessary/appropriate?  After all, it's the PC
  586. environment that needs this sucker the most.
  587.  
  588. Regards,
  589. David Kirschbaum
  590. Toad Hall
  591. kirsch@usasoc.soc.mil
  592. 
  593. 
  594. Date: Fri, 20 Sep 91 15:37:05 EDT
  595. From: David Kirschbaum <kirsch>
  596. Message-Id: <9109201937.AA03978@sarofs>
  597. To: kirsch
  598. Subject:  MAIL SEND STATUS MESSAGES
  599.  
  600. To: helman@elm.sdd.trw.com
  601. To: mdlawler@bsu-cs.bsu.edu
  602. Subject: DATA FILE INCLUDED - \temp\sed14.zoo
  603. MESSAGE SUCCESSFULLY SENT
  604.  
  605. 
  606. 
  607. Date: Fri, 20 Sep 91 13:19:19 PDT
  608. From: helman@elm.sdd.trw.com (Howard L. Helman)
  609. Message-Id: <9109202019.AA01028@elm.sdd.trw.com.sdd.trw.com>
  610. To: kirsch@usasoc.soc.mil
  611. Subject: Reply on sed14
  612.  
  613.  David,
  614.  
  615.  
  616. Thanks for your prompt response.  I am still trying to send the
  617. program to Lawler. All my mail has come back recently.
  618.  
  619. Sorry to hear that there were warnings.  I compiled using
  620. bcc with all warnings turned on and only got the
  621. pia warning prob incorrect assignment.  I always turn
  622. this off with a -w-pia or equivalent.
  623.  
  624. I always use signed characters an old habit from my pdp 11 days.
  625. My personnal computer was a pdp/11 until two years ago.
  626.  
  627. It seems to compile both modern (ANSI) and old style (sun unix) for
  628. me.  
  629.  
  630. I used zoo because it is the most compatible for me.  The sun station
  631. I connect to the network has zoo not zip.  Using zoo I can test the
  632. source both compressed and regular on both systems.   Feel free
  633. to repack with zip.
  634.  
  635. By the way, I found a small bug.  It is related to the one I found and
  636. fixed having to do with no addresses on a { command.  It seems that
  637. the ! operator does not work for command with no addresses.  Why one
  638. would want to do this is a mystery to me, but unix sed allows it.  Also
  639. the } command allows for addresses a nono.
  640.  
  641. The following should fix the problem.  It is not the best solution
  642. but I with you lets get this sucker moving before the end of
  643. the fiscal year.
  644.  
  645.  
  646. to fix ! to work on all commands and no addresses on }:
  647.  
  648. in SEDCOMP.C : delete lines 292 and 293 and add the || stuff on 301
  649.   292:                  if(!cmdp->addr1)   /* no address is special*/
  650.   293:                     cmdp->command=(cmdp->flags.allbut?BCMD:NOCMD);
  651.  
  652.   301:                  if(cmdp->addr1||cmdp->flags.allbut) ABORT(AD1NG);/*not allowed*/
  653.                                       --------------------
  654. in SEDEXEC.C  remove first test on line 133 and add test on  line 159
  655.   133:                    if (ipc->addr1 && !selected(ipc)) {ipc++;continue;}
  656.                               xxxxxxxxxxxxxx 
  657.   159:     if(ans=(!*p1||ipc->flags.inrange)) ;
  658.                   -------                  -
  659.  
  660. h**2 
  661. Howard Helman
  662. helman@elm.sdd.trw.com
  663.  
  664. 
  665. 
  666. Date:     Mon, 23 Sep 91 10:36:08 EDT
  667. From:     David Kirschbaum <kirsch@maxemail>
  668. To:       helman@elm.sdd.trw.com (Howard L. Helman)
  669. Subject:  Re:  Reply on sed14
  670.  
  671. >Thanks for your prompt response.  I am still trying to send the
  672. >program to Lawler. All my mail has come back recently.
  673.  
  674. Maybe the new address will work better. It's the one he uses for his
  675. Info-ZIP correspondence, and that's pretty current.
  676.  
  677. >Sorry to hear that there were warnings.  I compiled using
  678. >bcc with all warnings turned on and only got the
  679. >pia warning prob incorrect assignment.  I always turn
  680. >this off with a -w-pia or equivalent.
  681.  
  682. I usually find that "probably incorrect assignment" is usually trying to
  683. tell me something!  I then break down the questionable statement until it
  684. quits complaining.  Never hurt me yet, although it might not be the most
  685. terse or efficient programming style.
  686.  
  687. >I always use signed characters an old habit from my pdp 11 days.
  688. >My personnal computer was a pdp/11 until two years ago.
  689.  
  690. Funny .. and I default to unsigned.  Forget why.
  691.  
  692. >By the way, I found a small bug.  It is related to the one I found and
  693. >fixed having to do with no addresses on a { command.  It seems that
  694. >the ! operator does not work for command with no addresses.  Why one
  695. >would want to do this is a mystery to me, but unix sed allows it.  Also
  696. >the } command allows for addresses a nono.
  697.  
  698. Roger, will patch it in to my version.  Think we should field this sucker?
  699.  
  700. David
  701. 
  702. 
  703. Date: Fri, 20 Sep 91 13:59:36 PDT
  704. From: helman@elm.sdd.trw.com (Howard L. Helman)
  705. Message-Id: <9109202059.AA01072@elm.sdd.trw.com.sdd.trw.com>
  706. To: kirsch@usasoc.soc.mil
  707. Subject: Quick look at your changes
  708.  
  709. David:
  710.  
  711. I just looked at the sed14 you sent me.  
  712. Sorry about the terse code an old habit
  713. I pay for my toner and paper and other
  714. supplies so I tend to conserve space on
  715. my listings.  Also I cannot understand
  716. code longer than 25 lines these days since
  717. that is my screen size. 
  718.  
  719. Anyway, Please just change as you feel is necessary
  720. the lines to increase your readability.  Also just
  721. change the if(a=y) and if(!(a=y)) contructs as you
  722. wish.  The setting of -w-pia will correct these.
  723. I prefer not to have so many #ifdef s et al so
  724. I guess I do not understand your OLDSTUFF, I know C 
  725. coders always used to do it without the explicit zero
  726. test in the old days. 
  727.  
  728.  Just recode the lines if you have a problem.  Please
  729. explain what broken means in your comment.  If
  730. sounds serious but the changes seem minor.  Particularly
  731. if only a warning.  All newer borland compilers
  732. allow the #pragma  directive to turn the warning
  733. off and force signed characters.  I do not have
  734. the exact syntax here at work so I won't try
  735. to quote the exact line.  I will get it for you
  736. on Monday.
  737.  
  738. Anyway it looks ok.
  739. h**2
  740. helman@elm.sdd.trw.com
  741.  
  742.  
  743. 
  744. 
  745. Date:     Mon, 23 Sep 91 10:43:25 EDT
  746. From:     David Kirschbaum <kirsch@maxemail>
  747. To:       helman@elm.sdd.trw.com (Howard L. Helman)
  748. Subject:  Re:  Quick look at your changes
  749.  
  750. >Anyway, Please just change as you feel is necessary
  751. >the lines to increase your readability.  Also just
  752. >change the if(a=y) and if(!(a=y)) contructs as you
  753. >wish.  The setting of -w-pia will correct these.
  754.  
  755. Funny TC 2.0 doesn't like that if(!(a=y)) construct,
  756. since it's so common.  But it sure doesn't!  Get a
  757. warning every time!
  758.  
  759. >I prefer not to have so many #ifdef s et al so
  760. >I guess I do not understand your OLDSTUFF,
  761.  
  762. I do that #ifdef OLDSTUF so I can see what the code
  763. *used* to look like before I tweaked it.  That way,
  764. if my tweak was wrong, we can go back to the original.
  765. In a final version (e.g., once the tweaks are proven
  766. to be better, correct, whatever), the OLDSTUF gets
  767. ripped out.
  768.  
  769. >explain what broken means in your comment.  If
  770. >sounds serious but the changes seem minor.  Particularly
  771. >if only a warning.
  772.  
  773. Broken means, in the little test file I included, there
  774. was a significant difference in the output.  Your (correct)
  775. executable correctly reformats the last entry in the test
  776. Pascal file (a function).  My version (with unsigned chars)
  777. would NOT convert it (producing a weird "x 1 x 2" output line
  778. with x being an IBM PC graphics character).  Changing to signed
  779. chars fixed that .. but how was I to know that until I'd chased
  780. down all the other warnings first?
  781.  
  782. >  All newer borland compilers
  783. >allow the #pragma  directive to turn the warning
  784. >off and force signed characters.  I do not have
  785. >the exact syntax here at work so I won't try
  786. >to quote the exact line.  I will get it for you
  787. >on Monday.
  788.  
  789. Not to bother:  I knew that, and once I figured that
  790. might be the difference, I just switched to signed chars.
  791. In a TC 2.0 TCC command line, there's also a switch .. and
  792. I'll be constructing a TCC command line for your README file
  793. Real Soon Now (before the official fielded version).
  794.  
  795. David
  796. 
  797. 
  798. Message-Id: <9109202135.AA17459@usasoc.soc.mil>
  799. Date: Fri, 20 Sep 91 13:41:47 -0400
  800. From: bsu-cs!mdlawler@iuvax.cs.indiana.edu (Michael D. Lawler)
  801. To: usasoc.soc.mil!kirsch@iuvax
  802. Subject: Re:  Keith Petersen
  803.  
  804. No you don't have to.  Thats enough info.  Did you get a modified copy of
  805. your sed program?  You were supposed to be getting one, but I can't
  806. remember the guys name that sent it to you.  If you have it can you forward
  807. it to me?  Thanks!
  808.  
  809. 
  810. 
  811. Message-Id: <9109202335.AA18770@usasoc.soc.mil>
  812. Date: Fri, 20 Sep 91 17:53:42 -0400
  813. From: bsu-cs!mdlawler@iuvax.cs.indiana.edu (Michael D. Lawler)
  814. To: usasoc.soc.mil!kirsch@iuvax
  815. Subject: Re:  sed14
  816.  
  817. I got it thanks!
  818.  
  819. 
  820. 
  821. Date:     Mon, 23 Sep 91 10:46:31 EDT
  822. From:     David Kirschbaum <kirsch@maxemail>
  823. To:       Howard L. Helman (sed prj) <helman@elm.sdd.trw.com>
  824. Subject:  Re:  sed14
  825.  
  826. Ok, the new lawler address is working.  He's now in the loop with the new
  827. code.  I'll forward your latest changes/msgs to him as well.
  828.  
  829. David
  830. ----- Forwarded Message Start
  831.  
  832. Message-Id: <9109202335.AA18770@usasoc.soc.mil>
  833. Date: Fri, 20 Sep 91 17:53:42 -0400
  834. From: bsu-cs!mdlawler@iuvax.cs.indiana.edu (Michael D. Lawler)
  835. To: usasoc.soc.mil!kirsch@iuvax
  836. Subject: Re:  sed14
  837.  
  838. I got it thanks!
  839.  
  840.  
  841. ----- End of Forwarded Message
  842. 
  843. 
  844. Date: Mon, 23 Sep 91 09:24:22 PDT
  845. From: helman@elm.sdd.trw.com (Howard L. Helman)
  846. Message-Id: <9109231624.AA02072@elm.sdd.trw.com.sdd.trw.com>
  847. To: kirsch@usasoc.soc.mil
  848. Subject: Updates to SED14
  849. Cc: bsu-cs!mdlawler@iuvax.cs.indiana.edu
  850.  
  851. David, Mike and any others:
  852.  
  853. I finally got around to testing the sed14 version.  I was sorry
  854. that my updates I sent you on Friday were incorrect.  I thought
  855. I tested them but I do this at night at home and I must have  been
  856. asleep.  I don't feel as bad after finding the mistranslation in the
  857. N command.  I still find it easier to read and understand without the
  858. explicit test but any consistent style is fine.  So I am sending you
  859. these fixes and an updated version of the documentation in zoo format.
  860.  
  861.  
  862. As promised the inline pragmas to allow compilation are:
  863. #pragma warn -pia    /* silence prob incorrect assignment */
  864. #pragma option -K-   /* signed characters*/
  865.  
  866. These work with TC++ and BC++.  I am surprised that you are
  867. still using TC2.  I got off of it over a year ago.  It was
  868. a good system but the newer compilers are great especially 
  869. for the upgrade prices.  I found the C++ set to be a complete
  870. ANSI compiler and although there are a few bugs in it, most
  871. of the problems with TC2 have been fixed. 
  872.  
  873. h**2
  874.  
  875. These changes have been extensively tested, and fix the following:
  876.  
  877.    ! processing with no addresses
  878.    } command with !
  879.    N command error
  880.    * and + normal if not at repeatable spot big error  by me
  881.    \{ processing  m processing error and 0 allowed
  882.    A clean up in sedcomp 
  883.    A recommendation for D command
  884.  
  885. Fixes in SEDCOMP.C:
  886.  clean up ! processing  delete lines 313 and 314
  887.   312:            case '{':                     /* start command group */
  888.   313: xx               if(!cmdp->addr1)   /* no address is special*/
  889.   314: xx                  cmdp->command=(cmdp->flags.allbut?BCMD:NOCMD);
  890.   315:                  cmdp->flags.allbut = !cmdp->flags.allbut;
  891.  
  892.  do not allow ! option } commands  add test to line 322
  893.   321:            case '}':                            /* end command group */
  894.   322:                  if (cmdp->addr1||cmdp->flags.allbut)
  895.                                        --------------------                          
  896.  
  897.  Bug in processing * + in REs  move assmgt from 465 to after 467, 473, 482,
  898.     and 485.  Fix typo on 478 and 502.  This was a biggie
  899.   464:            switch (c) {
  900.   465:                 case '\\':lastep=0;
  901.                                  xxxxxxxxx                                      
  902.   466:                  if ((c = *cp++) == '(') {  /* start tagged section */
  903.   467:                    if (bcount >= MAXTAGS) return 0;
  904.                           lasetep=0;
  905.                           ++++++++++
  906.  
  907.   473:                    if (brnestp <= brnest) return 0;/* extra \) */
  908.                           lastep=0;                        
  909.                           +++++++++
  910.   474:                    *fp++ = CKET;                 /* enter end-of-tag */
  911.  
  912.   477:                    break;}
  913.   478:                  else if(c=='{'){if(!lastep) return 0; /* rep error*/
  914.                                                 **
  915.   479:                    *lastep|=MTYPE; lastep=0;
  916.  
  917.   482:                  else if(c=='<'){   /*begining of word test*/
  918.                           lastep=0;
  919.                           +++++++++
  920.   483:                    *fp++=CBOW;
  921.   484:                    break;}
  922.  
  923.   485:                  else if(c=='>'){/*end of word test*/
  924.                           lastep=0;
  925.                           +++++++++     
  926.   486:                    *fp++=CEOW;
  927.   487:                    break;}
  928.  
  929.   501:                 case '+':        /* 1 to n repeats of previous pattern */
  930.   502:                  if(!lastep)   goto defchar;
  931.                                 **
  932.   503:                  *lastep|=MTYPE; lastep=0; *fp++=1;*fp++=0xFF;
  933.  
  934.  
  935.  Bug in processing \{ expressions delete line 547; This was removed once
  936.  also add test on 549 to disallow 0 times.
  937.   546:  static int processm(Void) {int i1=0,i2=0;
  938.   547:    cp++; /*move past bracket*/
  939.           xxxxxxxxxxxxxxxxxxxxxxxxxxx
  940.   548:    while(isdigit(*cp))i1=i1*10+*cp++-'0';
  941.   549:    if(i1<=0||i1>255)return 0;
  942.              -------
  943.   550:    *fp++ = (char)i1;Bug fixes for SEDEXEC.C
  944.  
  945.  I think the correct way to handle D commands (after rereading the Unix stuff)
  946.  is to change line 130 to the following.  I.e. after a D start over without
  947.  a line read.  Any Unixers got any ideas???  I did not make this change.
  948.       /*while(cdswitch||spend=getline(linebuf)!=NULL){ */ /* v1.5 if approved*/
  949.   130:       while( (spend=getline(cdswitch?spend:linebuf))!= NULL){ /* v1.4 */
  950.  
  951.  Exec fix for ! commands with no address delete test from line 137
  952.   137:                    if (ipc->addr1 && !selected(ipc)) {ipc++;continue;}
  953.                               xxxxxxxxxxxxx              
  954.  
  955. There appears to be no reason for the test on line 145 just do the assmnt
  956.   145:                       if ((ipc = ipc->u.link) == 0) {ipc = cmds;break;}}
  957.                              xxxxx                 xxxxxxxxxxxxxxxxxxxxxxxxxx x
  958.  
  959. The final exec fix for ! with no address add the following before line 169
  960.            if(!p1)return !ipc->flags.allbut;
  961.            +++++++++++++++++++++++++++++++++ 
  962.   169:     if( (ans=ipc->flags.inrange) != 0) ; /* v1.4 */
  963.  
  964.  Fix the `oldstuf' stuff for a correct test  in an N command.
  965.  I highly recommend only one form.   I prefer mine because of the
  966.  error here but after the fix the explicit test version is ok by me
  967.   467:  #ifdef OLDSTUF  /* v1.4 */
  968.   468:                     if(!(execp=getline(spend)))pending=ipc,delete=TRUE;
  969.   469:  #else
  970.   470:                    if( (execp=getline(spend)) == 0)        /* v1.4 */
  971.                                     == not != !!!!!!!!!!!!!!!!!!!!
  972.   471:                              pending=ipc,delete=TRUE;
  973.   472:  #endif
  974.   473:                          else pending=NULL,spend=execp;
  975.  
  976.  
  977.  
  978. 
  979. 
  980. Date:     Mon, 23 Sep 91 17:15:30 EDT
  981. From:     David Kirschbaum <kirsch@maxemail>
  982. To:       helman@elm.sdd.trw.com (Howard L. Helman)
  983. cc:       bsu-cs!mdlawler@iuvax.cs.indiana.edu
  984. Subject:  Updated sed15.zip release
  985.  
  986. I've posted all the new changes you sent (manually .. ugh ugh ugh:  if
  987. this continues, we simply *must* get together on a diff and patch
  988. routine!)  I *think* I have it all correct.
  989.  
  990. I've integrated the README's, added some historical stuff, etc.  Assembled
  991. the various files (docs, TC v2.0-specific stuff), etc. into sub-ZIPs.
  992. Cleaned out the old #ifdef OLDSTUF from the source (since you've debugged
  993. my hacks, right?) .. and we should be about ready to go to press.
  994.  
  995. I'm sending along sed15.zip separately (uuencoded).  Michael, I'm not
  996. sending it to you just yet (since there may still be some minor
  997. corrections).  If all is approved (or after the next batch of changes),
  998. I'll update you, ok?
  999.  
  1000. If this version meets with your approval, Howard, I can upload it to
  1001. SIMTEL20 to replace the older SED12.ZIP.  We can also send it on to
  1002. comp.sources.misc on the Usenet side of the world, since this is pretty
  1003. nice portable code.  Might even give gnused some competition .. or at
  1004. least prompt someone to maybe attempt to reconcile this stuff!  But not
  1005. me, boy:  I'm getting *out* of this sed business!   Been *way* over my
  1006. head for weeks now! :-)
  1007.  
  1008. Regards,
  1009. David
  1010. 
  1011. 
  1012. Date: Mon, 23 Sep 91 14:24:34 PDT
  1013. From: helman@elm.sdd.trw.com (Howard L. Helman)
  1014. Message-Id: <9109232124.AA02729@elm.sdd.trw.com.sdd.trw.com>
  1015. To: bsu-cs!mdlawler@iuvax.cs.indiana.edu
  1016. Subject: Updated Source for sed
  1017. Cc: kirsch@usasoc.soc.mil
  1018.  
  1019.  
  1020.  
  1021. Ok guys if you want it is my updated source as per
  1022. my previous communication.  There are two additional changes
  1023. made in sedexec.c to correctly fix the D command.  I did some
  1024. tests on Sun4 Unix and these changes appear to make the 
  1025. DOS sed act exactly like Unix sed.
  1026. h**2
  1027.  
  1028. ---------------CUT HERE-------------------------------------
  1029. begin 644 hhsednew.zoo
  1030. [extracted]
  1031.  
  1032. 
  1033. 
  1034. Date: Mon, 23 Sep 91 14:45:24 PDT
  1035. From: helman@elm.sdd.trw.com (Howard L. Helman)
  1036. Message-Id: <9109232145.AA02876@elm.sdd.trw.com.sdd.trw.com>
  1037. To: kirsch@usasoc.soc.mil
  1038. Subject: Re:  Updated sed15.zip release
  1039.  
  1040. Well as you may have gotten by now is my updated source as per Michael.
  1041. In any case I recommend the fix for the D command my original fix needs
  1042. some () in it.  And I am done with this sucker. I was fun and it took
  1043. more effort than I thought but hopefully the world will have a better
  1044. sed for it.  
  1045.  
  1046. See you around the net
  1047. h**2
  1048.  
  1049. 
  1050. 
  1051. Message-Id: <9109240450.AA21922@usasoc.soc.mil>
  1052. Date: Mon, 23 Sep 91 23:04:54 -0400
  1053. From: bsu-cs!mdlawler@iuvax.cs.indiana.edu (Michael D. Lawler)
  1054. To: usasoc.soc.mil!kirsch@iuvax
  1055. Subject: Re:  Updated sed15.zip release
  1056.  
  1057. You guys can decide who is to send it to me when sed 1.5 is finished.  Thanks!
  1058.  
  1059. 
  1060. 
  1061. Date:     Mon, 23 Sep 91 18:12:00 EDT
  1062. From:     David Kirschbaum <kirsch@maxemail>
  1063. To:       helman@elm.sdd.trw.com (Howard L. Helman)
  1064. cc:       bsu-cs!mdlawler@iuvax.cs.indiana.edu
  1065. Subject:  Re:  Updated Source for sed
  1066.  
  1067. >Ok guys if you want it is my updated source as per
  1068. >my previous communication.  There are two additional changes
  1069. >made in sedexec.c to correctly fix the D command.  I did some
  1070. >tests on Sun4 Unix and these changes appear to make the
  1071. >DOS sed act exactly like Unix sed.
  1072. >h**2
  1073.  
  1074. Sigh .. I didn't expect more changes so soon!  Please throw away the
  1075. sed15.zip I just sent you (should've made it a .zoo, come to think of it,
  1076. for your examination anyway) .. I'll post these changes and send the new
  1077. zip15.zoo to you for your approval, ok?
  1078.  
  1079. The .zoo'll probably not have the documentation (since that's exactly as
  1080. you sent it to me).  Just the source, README, etc.
  1081.  
  1082. David
  1083. 
  1084.